Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

248
Visualizações
"Montón de JavaScript sin memoria" al intentar crear una matriz grande

Para resolver un desafío de codificación que involucra números primos grandes, primero intento crear una matriz de longitud 999999999 con cada elemento que tenga el valor "verdadero". Sin embargo, cuando intento crear esta matriz, recibo el error "ERROR FATAL: error en la asignación de tamaño de tabla no válido: memoria de JavaScript sin memoria".

Probé dos formas de crear el Array y sucedió en ambas ocasiones.

 let numbers = Array(999999999); for (let i = 0; i < numbers.length; i++) { numbers[i] = true; }
 let numbers = []; for (let i = 0; i < numbers.length; i++) { numbers.push(true); }

Intenté usar el nodo --max-old-space-size para aumentar el límite de memoria hasta 5 GB, pero aún no funciona.

He leído que la longitud máxima de una matriz en Javascript es 4294967296, que es significativamente mayor que 999999999, por lo que estoy un poco confundido sobre por qué no funciona.

Parece que puedo crear el Array (999999999), el error ocurre cuando intento asignar el valor verdadero a cada elemento.

Cualquier consejo sería muy apreciado :)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

5 GB (o GiB) no es suficiente.

Un booleano en una matriz en node.js necesita un promedio de 9,7 bytes de memoria. . Entonces, necesitaría 999,999,999 * 9.7 = alrededor de 9.7 GB (~ 9.03 GiB) de memoria, pero otras cosas vivirán en este espacio también, así que para estar seguro, asignaría alrededor de 11 GiB para ello.

Sin embargo, tener una matriz de este tamaño probablemente nunca sea una buena idea. Debería pensar en una forma diferente de abordar su problema. El objetivo del desafío es probablemente que encuentre una solución inteligente que no necesite bucles sobre mil millones de cosas.

about 4 years ago · Juan Pablo Isaza Relatório

0

compañero. Puedes pensar en eso como si fuera un bucle infinito. Si haces algo que requiere mucha memoria, entonces es una mala idea. Necesitas encontrar otro enfoque. Atentamente

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda